package com.haixiaoke.saas.order.domain;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.haixiaoke.saas.common.annotation.Excel;
import com.haixiaoke.saas.common.core.domain.BaseEntity;
import lombok.Data;

/**
 * 订单退款详情对象 biz_order_refund_details
 *
 * @author panda
 * @date 2024-04-19
 */
@Data
public class OrderRefundDetails extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 退房订单id
     */
    @Excel(name = "退房订单id")
    private String checkOutOrderId;

    /**
     * 订单id
     */
    @Excel(name = "订单id")
    private String orderId;

    /**
     * 关联订单
     */
    @Excel(name = "关联订单")
    private String linkedOrderId;

    /**
     * 房屋配置id
     */
    @Excel(name = "房屋配置id")
    private Long allocationId;

    /**
     * 房屋id
     */
    @Excel(name = "房屋id")
    private String houseId;

    /**
     * 审核记录id
     */
    private Long recordId;

    /**
     * 退款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "退款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private LocalDate refundTime;

    /**
     * 退款金额
     */
    @Excel(name = "退款金额")
    private BigDecimal refundPrice;

    /**
     * 退款状态(0.没退,1.退了)
     */
    @Excel(name = "退款状态", readConverterExp = "0=没退,1=退了", combo = {"没退", "退了"})
    private String refundState;

    /**
     * 退款类型(1.已住房费,2.退订费)
     */
    @Excel(name = "退款类型", readConverterExp = "1=已住房费,1=退订费", combo = {"已住房费", "退订费"})
    private String refundType;

    /**
     * 租户id
     */
    @Excel(name = "租户id")
    private String tenantId;

    private List<OrderRefundDetails> orderRefundDetailsList;
}
